﻿// 生成树形结构的函数
function common_generateTree(){
    // 1.准备生成树形结构的 JSON 数据
    $.ajax({
        "url":"/menu/get/whole/tree.json",
        "type":"post",
        "dataType":"json",
        "success":function (response){
            var result = response.operationResult;
            if (result == "SUCCESS"){

                // 2.创建 JSON 对象用于存储对 zTree 所做的设置
                var setting = {
                    "view":{
                        "addDiyDom":common_myAddDiyDom,
                        "fontCss": common_setFontCss,
                        "showLine": false,
                        dblClickExpand: false,
                        selectedMulti: false,
                    },
                    "data":{
                        "key":{
                            "url":"shanshan"
                        }
                    },
                    callback:{
                        onClick: common_zTreeOnClick
                    }
                };
                // 3.从响应体中获取数据
                var zNodes = response.queryData;
                // 3.初始化树形结构
                $.fn.zTree.init($("#common_treeDemo"),setting,zNodes);

            }

            if (result == "FAILED"){
                layer.msg(response.message);
            }
            // 不显示根节点的 a标签和span
            // display:none
            // visibility:hidden
            // $("#common_treeDemo_1_a").css("display","none");
            // $("#common_treeDemo_1_switch").css("display","none")
            $("#common_treeDemo_1_a").remove();
            $("#common_treeDemo_1").addClass("tree");
            // $("#common_treeDemo_1_switch").remove();
        }
    })

}

//处理点击事件
function common_zTreeOnClick(event,treeId,treeNode){
    var zTree = $.fn.zTree.getZTreeObj("common_treeDemo");
    zTree.expandNode(treeNode);
    common_myAddDiyDom(treeId, treeNode)
    $("#"+treeNode.tId+"_a").removeClass("curSelectedNode")
    if (treeNode.url != null) location.href = treeNode.url + "?urlName="+treeNode.name;
}

function common_setFontCss(treeId, treeNode) {
    // 获取当前节点的级别数据
    var level = treeNode.level;
    return{

    }
};



// 修改默认的图标
function common_myAddDiyDom(treeId, treeNode) {
    // treeId 是整个树形结构附着的 ul 标签的 id
    console.log("treeId=" + treeId);
    // 当前树形节点的全部的数据，包括从后端查询得到的 Menu 对象的全部属性
    console.log(treeNode);
    // zTree 生成 id 的规则
    // 例子：common_treeDemo_7_ico
    // 解析：ul 标签的 id_当前节点的序号_功能
    // 提示：“ul 标签的 id_当前节点的序号”部分可以通过访问 treeNode 的 tId 属性得到
    // 根据 id 的生成规则拼接出来 span 标签的 id
    var spanId = treeNode.tId + "_ico";
    // 根据控制图标的 span 标签的 id 找到这个 span 标签
    // 删除旧的 class
    // 添加新的 class
    $("#" + spanId)
        .removeClass()
        .addClass(treeNode.icon);


    $("#"+treeNode.tId+"_switch").remove()
    // margin-top: 10px;

    if (treeNode.children.length == 0){
        console.log(treeNode.tId)
        $("#"+treeNode.tId+"_a").css("color","#337ab7")
    }
    // 获取当前节点的级别数据
    var level = treeNode.level;

    if (level == 0){
        $("#"+treeNode.tId+"_ul").addClass("list-group")
    }
    if (level == 1){
        console.log(treeNode.tId)
        $("#"+treeNode.tId).addClass("list-group-item")
        $("#"+treeNode.tId).css("padding","10px 15px")
        //margin-top: 10px;
        $("#"+treeNode.tId+"_ul").css("margin-top","10px")
        $("#"+treeNode.tId+"_ul").css("padding-left","40px")

    }
    if (level == 2){
        //height:30px;
        $("#"+treeNode.tId).css("height","30px")
    }

}